package com.andy.blog.dal.service;

import com.andy.blog.dal.domain.SysConfigDO;
import com.andy.blog.dal.vo.SysConfigVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 参数配置 服务层
 * <p>
 * Created by andy on 2023-04-05 11:38
 */
public interface SysConfigDalService {

    /**
     * 获取单个参数配置对象
     * @param sysConfigVO
     * @return
     */
    SysConfigDO selectOneConfig(SysConfigVO sysConfigVO);


    /**
     * 新增参数配置
     */
    int insertConfig(SysConfigVO configVO);

    /**
     * 修改参数配置
     */
    int updateConfig(SysConfigVO configVO);

    /**
     * 校验参数键名是否唯一
     */
    boolean checkConfigKeyUnique(SysConfigVO configVO);

    /**
     * 分页获取列表
     */
    IPage<SysConfigDO> selectListByPage(SysConfigVO sysConfigVO);

    /**
     * 根据条件查询
     */
    List<SysConfigDO> selectListByCondition(SysConfigVO sysConfigVO);

    /**
     * 根据id查询
     */
    SysConfigDO selectById(Long id);

    /**
     * 根据id删除
     */
    int deleteById(Long id);
}
